﻿using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace QuanLyThongTinNhanKhau.model.BO
{
    class TMNhanKhauBO
    {
        model.DAO.TMNhanKhauDAO tmNhanKhauDAO = new DAO.TMNhanKhauDAO();
        private GUI.TMNhanKhau f;
        private GUI.HoKhau hoKhauGUI;

        public TMNhanKhauBO(GUI.TMNhanKhau tMNhanKhau, GUI.HoKhau hoKhauGUI)
        {
            // TODO: Complete member initialization
            this.f = tMNhanKhau;
            this.hoKhauGUI = hoKhauGUI;
        }



        internal void loadFindTable(string maNhanKhau)
        {
            DataTable dt = tmNhanKhauDAO.loadFindTable(maNhanKhau);

            if (dt.Rows.Count != 0)
            {
                this.f.gridControlNhanKhau.DataSource = dt;
            }
            else
            {
                this.f.gridControlNhanKhau.DataSource = null;
            }

        }

        internal void btnTimKiem()
        {
            String maNhanKhau = this.f.tbFindMaNhanKhau.Text.Trim();
            String tenNhanKhau = this.f.tbFindTenNhanKhau.Text.Trim();

            DataTable dt = tmNhanKhauDAO.btnTimKiem(maNhanKhau, tenNhanKhau);

            if (dt.Rows.Count != 0)
            {
                this.f.gridControlNhanKhau.DataSource = dt;
            }
            else
            {
                this.f.gridControlNhanKhau.DataSource = null;
            }
        }

        internal void btnLuu(String maHoKhau)
        {
            String maNhanKhau = this.f.tbMaNhanKhau.Text.Trim();
            String tenNhanKhau = this.f.tbTenNhanKhau.Text.Trim();
            if ("".Equals(maNhanKhau) || "".Equals(tenNhanKhau))
            {
                System.Windows.Forms.MessageBox.Show("Bạn chưa chọn nhân khẩu");
            }
            else 
            {
                //Them Moi
                if ("true".Equals(tmNhanKhauDAO.isValidNhanKhau(maNhanKhau)))
                {
                    String quanHeChuHo = this.f.comboBoxQHCH.SelectedItem.ToString();
                    String resuft = tmNhanKhauDAO.btnLuu(maHoKhau, maNhanKhau, quanHeChuHo);
                    if ("DuplicateCH".Equals(resuft))
                    {
                        System.Windows.Forms.MessageBox.Show("Quan hệ chủ hộ đã tồn tại");

                    }else if("true".Equals(resuft))
                    {
                        System.Windows.Forms.MessageBox.Show("Thêm mới thành công");
                        hoKhauGUI.loadNhanKhau(maHoKhau);
                    }
                }
                else
                {
                    System.Windows.Forms.MessageBox.Show("Mã nhân khẩu này đã tồn tại trong hộ khẩu: "+ tmNhanKhauDAO.isValidNhanKhau(maNhanKhau));
                }
            }
        }
    }
}
